package cn.iocoder.yudao.module.bpm.message.dto;

import cn.iocoder.yudao.framework.mq.rocketmq.api.base.BaseMessage;
import cn.iocoder.yudao.module.bpm.enums.task.BpmTaskStatusEnum;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 流程实例的创建
 */
@Data
public class BpmProcessTaskCreatedMessage implements Serializable {

    /**
     * 流程实例的编号
     */
    @NotNull(message = "流程实例的编号不能为空")
    private String processId;
    /**
     * 流程实例的 key
     */
    @NotNull(message = "流程实例的 key 不能为空")
    private String processDefinitionKey;
    /**
     * 流程任务的名称
     */
    @NotNull(message = "流程任务的名称")
    private String processName;

    @NotNull(message = "流程实例的编号不能为空")
    private String taskId;
    @NotNull(message = "流程实例的编号不能为空")
    private String taskDefinitionKey;
    /**
     * 流程实例的结果
     */
    @NotNull(message = "流程实例的状态不能为空")
    private BpmTaskStatusEnum status;
    /**
     * 流程实例对应的业务标识
     * 例如说，请假
     */
    private String businessKey;
    /**
     * 审批人
     */
    @NotNull(message = "流程实例的状态不能为空")
    private String assignee;

}
